专利摘要:
digital content distribution method and system a modality of the present invention presents a technique for selecting a content distribution network (cdn) comprising at least one content server, from a plurality of cdns, and a digital content file of playback from the cdn on a content playback device. the selection of the cdn is based on a sort order of the cdns, a weight value assigned to each cdn, and a measured bandwidth between the content playback device and each cdn. advantageously, a determined content playback device can select a cdn based on the prevailing cdn and network loading conditions, thus increasing overall robustness and reliability when downloading digital content files from a cdn.
公开号:BR112012001671B1
申请号:R112012001671-7
申请日:2010-07-15
公开日:2020-06-02
发明作者:Anthony Neal Park;Neil D. Hunt;Neil D Hunt;Wei Wei
申请人:Netflix, Inc.;
IPC主号:
专利说明:

DIGITAL CONTENT DISTRIBUTION METHOD AND SYSTEM
CROSS REFERENCE TO RELATED ORDERS
This order claims the benefit of the Order for
United States Patent Serial No. 12 / 504,528, 5 filed on July 16, 2009, which is incorporated herein by reference.
BACKGROUND OF THE INVENTION
Field of the Invention
Modalities of the present invention generally refer to digital media and, more specifically, to a system and method of distributing digital content.
Description of the Related Art
Digital content distribution systems
conventionally include a server in content, one 15 device reproduction of content and a network in communications connecting the server in content to device reproduction of content. 0 device in
Content playback can be configured to play digital content files, such as music, movies or 20 digitally encoded television programs, to name just a few. A given digital content file can be downloaded from the content server to the content playback device via the communication network. The content playback device can download and store at least a portion of the digital content file to facilitate uninterrupted playback of the title. The content can be played through an audio system, a video system, or a combination of them. The content server 30 comprises a computer system configured to store a specific set of titles and facilitate the transfer of the digital content files to one or more content playback devices.
In practical scenarios, one or more content servers can be configured together within a communications network to form a content distribution network. Each content delivery network includes one or more content servers and one or more network communication systems that are configured to interconnect content servers and content playback devices. Each content distribution network can host multiple digital content files. A content directory server comprises a computer system configured to provide a listing of the title names of digital content files, and to associate a content distribution network with each title through a reference mechanism, such as a locator. universal resource (URL). When a content playback device needs to play a specific title, the content playback device first posts a request to the content directory server for a reference to a content delivery network configured to host the title. The content playback device then downloads and plays the title from the content distribution network specified in the reference provided by the content directory server.
The content playback device may be located in a region of the communications network, while the content distribution network may be arranged in a different region of the communication network. Networking systems such as routers and switches are conventionally configured to interconnect the content playback device with the content distribution network. In certain high traffic scenarios, congestion within the communications network can limit bandwidth between certain endpoints, such as between the content playback device and the content delivery network. In addition, networking systems between the content playback device and the content delivery network can fail without warning, creating reliability problems. The composition of reliability issues, content servers and networking systems within the content delivery network can also fail or become overwhelmed without warning. As a result, the content playback device may be unable to reliably download and play the content files requested by a user.
As illustrated by the precedent, what is needed in the art is an approach to download digital content files to a content playback device that is more robust and reliable than the prior art approaches.
SUMMARY OF THE INVENTION
One embodiment of the present invention features a method for downloading a digital content file from a content distribution network (CDN) residing within a content distribution system. The method includes the steps of receiving a list of CDNs from a content directory server that includes one or more CDNs residing within the content distribution system and also includes a grade and weight for each of the one or more CDNs , and select a CDN from the CDN list from which to download the digital content file based on a bandwidth test, where the selected CDN is able to download a portion of the digital content file to a content playback device at a higher bit rate associated with the content playback device machine or has a weighted bandwidth greater than or equal to the weighted bandwidth associated with any other CDN included in the CDN list. The method also includes the steps of launching a staging execution flow configured to download digital content associated with the digital content file from the CDN and storing digital content in a temporary content store, and launching a execution flow of Playback configured to play digital content stored in the temporary content store.
An advantage of the disclosed method is that each content playback device within the content distribution system is capable of facilitating reliable content playback, despite certain failures within the communication network and certain other CDN failures. The content playback device is able to reestablish playback under severe failure conditions and advantageously select a good CDN to download a digital content file under broad suboptimal system conditions.
Other embodiments include, without limitation, a computer-readable medium that includes instructions that enable a processing unit to implement one or more aspects of the disclosed methods as well as a system configured to implement one or more aspects of the disclosed methods.
BRIEF DESCRIPTION OF THE DRAWINGS
In order that the way in which the characteristics cited above of the present invention can be understood in detail, a more specific description of the invention, briefly summarized above, can be taken with reference to the modalities, some of which are illustrated in the attached drawings. It should be noted, however, that the accompanying drawings illustrate only typical modalities of this invention and, therefore, should not be considered as limiting its scope, since the invention can admit other equally effective modalities.
Figure 1 illustrates a content delivery system configured to implement one or more aspects of the present invention;
Figure 2 is a more detailed view of the content reproduction device of Figure 1, according to an embodiment of the invention;
Figure 3A is a flow diagram of the method steps for downloading a digital content file from a content distribution network within the content distribution system, according to an embodiment of the invention;
Figure 3B is a flow diagram of method steps for selecting a content distribution network within a content distribution system from which to download a specific digital content file, according to an embodiment of the invention;
Figure 3C is a flow diagram of the method steps for temporarily storing a digital content file downloaded from a content distribution network, according to an embodiment of the invention; and
Figure 3D is a flow diagram of method steps for reproducing a digital content file temporarily stored in a temporary content store within a content playback device, according to an embodiment of the invention.
DETAILED DESCRIPTION
In the following description, several specific details are presented to provide a more complete understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention can be practiced without one or more of these specific details. In other cases, well-known features have not been described to avoid obscuring the present invention.
Figure 1 illustrates a content delivery system 100 configured to implement one or more aspects of the present invention. As shown, the content delivery system 100 includes, without limitation, a content playback device 110 configured to select a digital content file for playback from one of a plurality of content delivery networks 14 0. A server content directory 120 is configured to provide the content playback device 110 with a list of content distribution networks hosting the digital content file. A communication network 150, such as the known Internet communication network, provides communication structure to enable communication between the content playback device 110, content directory server 120, and the content distribution networks 140.
The content playback device 110 may comprise a computer system, a frequency converter, a mobile device such as a mobile phone, or any other technically feasible computing platform that has network connectivity and is coupled to the display device. or include a display device. Each content distribution network (CDN) 140 comprises at least one computer system configured to handle transfer requests for digital content files from the content playback device 110. The digital content file can comprise any type of content ( data) encoded or non-encoded digital including, without limitation, movie content, television program content or audio content. Digital content files can reside on a mass storage system that can be accessed by the computer system including, without limitation, direct attached storage medium, network attached file storage medium or attached block level storage medium network. Digital content files can be formatted and stored on the mass storage system using any technically feasible technique. Any data transfer protocol, such as a conventional file transfer protocol (FTP) or conventional hypertext transfer protocol (HTTP), can be used to download digital content files from CDN 14 0 to the playback device of content 110.
In a practical scenario, multiple content playback devices 110 connect to a plurality of CDNs 140. A content directory server 120 can be used to guide a content playback device 110 to a specific CDN 140 from which download a specific digital content file. The content directory server 120 must reside on a network address that is known to the various content playback devices 110. The network address can comprise a specific Internet protocol (IP) address or a universal resource locator (URL) any other technically feasible network address.
The communications network 150 may include a plurality of network communication systems, such as routers and switches, configured to facilitate data communication between the content playback device 110 and the plurality of content distribution networks 140. Those versed in the art they will recognize that there are many technically feasible techniques for building the communications system 150, including technologies practiced in employing the well-known wireless communications network.
In an operating scenario, the content playback device 110 can transmit a title query request 112 to the content directory server 120. The title query request 112 can include a specific title name from a content file specific digital, such as Gone with the Wind. In response to title query request 112, ο content directory server 120 generates and transmits a CDN list 122 to content playback device 110. CDN list 122 specifies one or more CDNs 140 each of which hosts a copy of the digital content file mentioned in the title query request 112. For a given title, each CDN list 122 may be different for each content playback device 110, and a given content playback device 110 may receive a list different CDN number 122 for each different requested title.
In one embodiment, the CDN 122 list also declares a grade and weight for each CDN 140. The classification can be deducted according to the order of the CDN 122 list or declared explicitly as a number associated with a given CDN 140. The weight is explicitly declared as a number associated with a given CDN 140. In one embodiment, each CDN 140 within the list of CDN 122 includes a list of URLs of individual content servers within CDN 140. Table 1 illustrates a list of exemplary CDNs 122.
TABLE 1
CDN 1: Graduation = 1Weight = 140Stream = URL1, URL2 CDN 2: Graduation = 2Weight = 120Stream = URL3, URL4, URL5 CDN 3: Graduation = 3Weight = 100Stream = URL6, URL7, URL8
As shown, three CDNs are related, CDN1 to CDN3, corresponding to CDN 140-1 through CDN 140-3 in Figure 1. Each CDN 140 includes a graduation field, a weight field and a flow field, which are used to specify one or more content servers configured to download digital content files to the playback device 110. Each URL1 to URL8 can be of the form http: // network-address-name, where the URL specifies a hypertext transfer protocol ( HTTP) as the data transfer protocol.
The order of the classifications associated with the different CDNs 14 0 within the various CDN lists 122 is used to manage the traffic between the content playback devices 110 and the CDNs 140 within the content distribution system 100. The order of the associated classifications with the different CDNs 14 0 for a given content playback device 110 can be selected using any technically practicable technique based on factors such as, without limitation, customer identification number, title identification number, provider identification number Internet service provider, geographic location of the content playback device 110, client history, or predominant server load, or any combination thereof.
For example, a module hundred operation can be performed on customer identification (a unique number assigned to a customer) for a given content playback device to generate the customer module value ranging from 0 to 99. A content playback 110 with an associated module value from 0 to 69 can receive a list of CDN 122 ranking firstly at CDN 1, while a content playback device 110 with an associated module value from 70 up to 99 can receive a list of CDN 122 ranking CDN 2 first. In such a scenario, CDN 1 should average 70% of total transfer bandwidth because approximately 70% of customer ID numbers are 0 and 69, while CDN 2 should have an average of 30% of the total transfer bandwidth because approximately 30% of customer identification numbers are between 70 and 99.
A weight value is also associated with each CDN 140 included in the CDN 122 list. As described in more detail here, in the event that none of the CDNs 140 included in the CDN 122 list are able to transmit a bit rate transfer stream highest for the content playback device 110, the weight value serves as a preference the affinity for the content playback device 110 select one of the CDNs 140 included in the CDN list 122 from which to download a digital content file specific. As used herein, the highest bit rate corresponds to the maximum average bit rate supported by the content playback device 110. In addition to the highest bit rate, the content playback device 110 typically supports at least one bit rate lowest average.
Upon receipt of the CDN list 122, the content playback device 110 selects a CDN 140 from which to transfer the digital content file cited in the title query request 112. The content playback device 110 then proceeds to download and reproduce the digital content file mentioned in the title consultation request 112. In one embodiment, the content playback device 110 establishes a request flow 114 to request specific portions of the digital content file associated with the consultation request. title 112 as well as a data transfer flow 144 configured to download specific portions of the digital content file to the content playback device 110.
Although, in the description above, the content delivery system 100 is shown with a content playback device 110 and three CDNs 140, those skilled in the art will recognize that the architecture of Figure 1 considers only an exemplary embodiment of the invention. Other modalities can include any number of content playback devices 110 and / or CDNs
140. Thus, Figure 1 is in no way intended to limit the scope of the present invention.
Figure 2 is a more detailed view of the content playback device 110 of Figure 1, according to an embodiment of the invention. As shown, the content playback device 110 includes, without limitation, a central processing unit (CPU) 210, a graphics subsystem 212, an input / output device (I / O) interface 214, a network interface 218 , an interconnect 220, and a memory subsystem 230. The content playback device 110 may also include a mass storage unit 216.
The central processing unit (CPU) 210 is configured to retrieve and execute programming instructions stored in a memory subsystem 230. CPU 210 retrieves programming instructions from memory subsystem 230 through an interconnect 220. The CPU 210 is configured to store and retrieve the data in the memory subsystem 230 via interconnect 220.
The graphics subsystem 212 is configured to generate video data frames, such as a sequence of graphic images, and transmit the video data frames to the display device 250. The graphics subsystem 212 is coupled to CPU 210 via the interconnect 220. In one embodiment, the graphics subsystem 212 is integrated into an integrated circuit together with CPU 210. The display device 250 can comprise any technically feasible means for generating an image for display. For example, the display device 250 can be manufactured using liquid crystal display (LCD) technology, cathode ray technologies, and light emitting diode (LED) display technology (whether organic or inorganic) to produce a visual representation of video data frames. An input / output device (I / O) interface 214 is configured to receive input data from user I / O devices 252 and transmit input data to CPU 210 via interconnect 220. For example, User I / O devices 252 may comprise one or more buttons, a keyboard, and a mouse or other pointing device. The I / O device interface 214 also includes an audio output unit configured to generate an electrical audio output signal. User 252 I / O devices include a speaker configured to generate an acoustic output in response to the electrical audio output signal. In alternative embodiments, the display device 250 may include a speaker. A television is an example of a device known in the art that can display video frames and generate an acoustic output. A mass storage unit 216, such as a hard disk drive or flash memory storage unit, is configured to store non-volatile data. The mass storage unit 216 is coupled to CPU 210 via interconnect 220. A network interface 218 is configured to transmit and receive data packets via communication network 150. In one embodiment, network interface 218 is configured for communication using the well-known Ethernet standard. The network interface 218 is coupled to CPU 210 via interconnect 220.
memory subsystem 230 includes programming instructions and data comprising an operating system 232. Operating system 232 performs system management functions such as managing hardware devices including network interface 218, mass storage unit 216, interface I / O device 214, and graphics subsystem 212. The operating system 232 also provides memory and process management models for a user interface 234 and a playback application 236. User interface 234 provides a specific structure, such as a object and window metaphor for user interaction with the content playback device 110. Those skilled in the art will recognize the various operating systems and user interfaces that are well known in the art and suitable for incorporation into the content playback device 110.
playback application 236 is configured to retrieve a digital content file from a CDN 140 via the network interface 218 and reproduce the digital content file via the graphic subsystem 212 and display device 250. The playback application 236 requests a list of CDN 240, such as the list of CDN 122 in Figure 1, from content directory server 120. Playback application 236 selects a CDN from the list of CDN 240, as described in more detail below in Figure 3B. The 236 playback application then proceeds to temporarily download and store the digital content file from a CDN 140. The 236 playback application generates a viewable rendering of the digital content file for a user during a playback process, as described in more detail below in Figures 3A, 3B, 3C and 3D.
An audio temporary storage device 242 can be used to store audio data from a piece of digital content downloaded from the selected CDN 140. In one embodiment, an audio decoder 244 is used to decode the data stored on the audio storage device 242 on one or more audio tracks. A 246 video storage device is used to store video data from a piece of digital content downloaded from CDN 14 0. A 248 video decoder is used to decode and render the data stored on the storage device. 242 video in one or more sequences of viewable video frames. In one embodiment, a content buffer 245 comprises a unified buffer structure including the audio buffer 242 and the video buffer 246. In this mode, the audio data and video data are structured into a single flow. In an alternative embodiment, the temporary content store 245 comprises the audio temporary store 242 and the video temporary store 246 configured as separate temporary stores that can be accessed independently to add or remove data.
Figure 3A is a flow diagram of method steps 300 for downloading a digital content file from a content distribution network 140 with content distribution system 100, according to an embodiment of the invention. Although the method steps are described in conjunction with the systems of Figures 1 and 2, those skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the invention. In one embodiment, method steps 300 perform as a content playback device management execution stream within the playback application 236.
method starts at step 310, the playback application 236 receives a user request to play a selected digital content title. For example, the user can enter a selection using one or more of the 252 user I / O devices in Figure 2, such as a keyboard or mouse. In step 312, playback application 236 requests a CDN list 122 for the digital content file selected from the content directory server 120 via a title query request 112. In one embodiment, the directory server for content 120 resides on a communication network at a location, such as a URL, known to the content playback device 110. In step 314, playback application 236 receives a CDN list 122 from the content directory server 120 , and the CDN list 122 is stored as a CDN 240 list within the memory subsystem 230. Again, Table 1 previously described here shows an exemplary structure for the CDN 240 list.
In step 320, the playback application 236 selects a CDN 140 within the content distribution system 100 from the list of CDN 240 from which the selected digital content file is to be downloaded. The algorithm for selecting that CDN 140 is described in more detail below in conjunction with Figure 3B. A result of step 320 is that, in step 324, a portion of the digital content associated with the selected digital content file is stored in the temporary content store 245. Consequently, the digital content associated with the selected digital content file can be accessed for reproduction more quickly, thereby reducing the delay associated with the reproduction process. In step 326, playback application 236 temporarily pre-stores an additional amount of digital content associated with the selected digital content file before playback begins.
In step 33 0, the playback application 236 launches a temporary storage execution flow, as described in more detail in Figure 3C. The staging execution flow is configured to continue to download added digital content associated with the selected digital content file from CDN 140 and temporarily store that data on the content storage device 245. In step 335, the playback application 236 launches a playback execution stream. The playback execution stream is configured to read the audio and video data from the temporary content store 245 and generate a corresponding audio and video stream for playback for the user.
In step 33 8, the playback application 236 waits for the playback execution stream launched in step 335 to finish. At step 390, the playback application 236 determines whether the selected digital content file has been played to the end based on an output condition of the playback execution stream. If, in step 3 90, the selected digital content file has not been played to the end, then method 3 00 returns to step 320 described above. Such a scenario occurs when the playback execution flow encounters an insufficient staging execution and needs to be restarted. A time stamp can be stored to indicate where the selected digital content file should start playing from the restart. If, however, in step 390, the selected digital content file has been played to the end, then the method ends in step 392.
Figure 3B is a flow diagram of method steps 322 for selecting a CDN 140 within the content distribution system 100 from which to download the selected digital content file, according to an embodiment of the invention. Although the method steps are described in conjunction with the systems of Figures 1 and 2 those skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the invention. In summary, method steps 322 determine the specific CDN 140 from which the selected digital content file must be downloaded based on the transfer performance requirements specified by the content playback device 110 as well as the CDN preferences designated for the content playback device 110 reflected in the CDN list 240. Again, method steps 322 describe step 32 0 of Figure 3A in greater detail and, in one embodiment, are performed by the device management management flow of playing content within the 236 playback application.
The method begins at step 340, where the breeding application 236 selects CDNs 140 included in the CDN list 240 based on the classifications associated with CDNs 14 0 to generate a list of selected CDNs. Each CDN 140 in the list of selected CDNs is assigned a corresponding rating, as shown in Table 1. In one embodiment, the first CDN 14 0 in the list of selected CDNs has a rating of one (1) and each subsequent CDN in the list of The chosen CDN has an increasing graduation. A CDN_Count variable is established to reflect a count of 140 CDNs within the list of selected CDNs.
In step 342, the playback application 236 initializes a variable i to zero. The variable i determines which CDN 140 within the list of selected CDNs is currently being evaluated. In step 344, playback application 236 compares the value of i with the total number of CDNs 140 within the list of selected CDNs. If the value of i is less than CDN_Count, which reflects the total number of CDNs 14 0 within the list of selected CDNs, then the method proceeds to step 346. In step 346, the playback application 236 performs a width test bandwidth in CDN [i], that is, the CDN 140 currently being evaluated. To perform the bandwidth test, a portion of the selected digital content file is downloaded from the CDN [i] to the content playback device 110 to assess the amount of bandwidth available between CDN [i] and the content playback device 110. The bandwidth available in this context includes instantaneous bandwidth between CDN [i] and the content playback device 110 over communications network 150 and also considers the total current load on CDN [i] . When the communication network 150 is congested between CDN [i] and the content playback device 110, the amount of available bandwidth is typically reduced due to congestion. Similarly, when CDN [i] is heavily loaded with transfer requests, the amount of available bandwidth is usually reduced because CDN [i] is not able to handle transfer requests so quickly.
In step 348, the playback application 236 stores the amount of bandwidth available between CDN [i] and the content playback device 110, referred to as the bandwidth value, in a Bandwidth [i] arrangement residing within the subsystem memory 230. In step 350, the playback application 236 stores the transfer data, referred to as bandwidth test data, in the temporary content store 245.
In step 352, playback application 236 determines whether CDN [i] can transfer data to the content playback device 110 at the highest bit rate associated with content playback device 110. Again, the highest bit rate is the maximum average bit rate supported by the content playback device 110. If CDN [i] cannot transfer data at the highest bit rate (meaning that the measured bandwidth value for CDN [i] in step 346 is lower than the highest bit rate associated with the content playback device 110), then the method proceeds to step 354, where the playback application 236 computes a weighted bandwidth value for CDN [i]. The weighted bandwidth value for CDN [i] is equal to the measured bandwidth for CDN [i] in step 346 multiplied by the weight value included in the list of selected CDNs associated with CDN [i]. In step 356, playback application 236 increments variable i by one before the method returns to step 344, as described above.
Upon returning to step 344, the playback application 236 again compares the value of i with the total number of CDNs 140 within the list of selected CDNs. If the value of i is not less than CDN_Count, then the bandwidth of each CDN 140 within the selected CDN list has been tested, and a weighted bandwidth value has been computed for each CDN 140 within the selected CDN list. . The method then proceeds to step 360, where the playback application 236 selects the CDN 140 that has the highest weighted bandwidth value as the CDN 14 0 from which to download the selected digital content file. If two or more CDNs 140 have weighted bandwidth values equal to the higher weighted value of bandwidth, then the playback application 23 6 selects CDN 14 0 having the lowest relative graduation between those two or more CDNs 140 as displayed in the list of selected CDNs, such as CDN 14 0 from which to download the selected digital content file. The method then ends at step 364.
Now returning to step 352, if CDN [i] can download data at the highest bit rate (meaning that the bandwidth measured for CDN [i] in step 346 is greater than or equal to the highest bit rate associated with the content playback device 110), then the method proceeds to step 362, where the playback application 236 selects CDN [i] as the CDN 140 from which to download the selected digital content file. In this scenario, no further testing is required because the currently tested CDN 140 meets the transfer performance requirements of the content playback device 110. Again, the method ends at step 364.
As will be recognized by those skilled in the art, in a scenario where at least one CDN 14 0 can provide a file transfer of digital content at the highest supported bit rate, the order of graduation of CDNs 140 within the list of selected CDNs determines which CDN 140 should provide the digital content file to the content playback device 110. In a scenario where no 140 within the list of selected CDNs can provide a transfer of the digital content file at the highest supported bit rate, the value of weighted bandwidth for each CDN 140 in the list of selected CDNs is used to select a CDN 140 from which to download the selected digital content file, as shown above. In one embodiment, a higher grade CDN (lower grade number) is selected when a plurality of product CDNs 140 of equal weight per bandwidth is available.
Figure 3C is a flow diagram of method steps 332 for temporarily storing a digital content file downloaded from a content distribution network 140, according to an embodiment of the invention. Although the method steps are described in conjunction with the systems of Figures 1 and 2, those skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the invention.
The method starts at step 3 70, where the temporary storage execution flow launched at step 330 of Figure 3A begins execution. The initialization required for a given execution flow implementation can be performed in this step. Certain parameters can be passed to the staging execution flow, including, without limitation, which CDN 140 was selected in step 320 of Figure 3A, and a time marker used by the staging execution flow to determine a start time for temporary storage. The time stamp is important in a scenario where a new CDN 140 needs to be selected due to an earlier running buffer.
In step 372, the staging execution flow determines whether a give-up signal is received. Those skilled in the art will recognize that a signal comprises an inter-process communication mechanism for transmitting messages between ongoing execution flows. In this context, the give-up signal is a specific signal sent by the replay execution stream to the staging execution stream requiring the staging execution stream to end execution. The give-up signal is generated by the playback execution stream when the playback execution stream encounters a critical problem, such as an insufficient buffer run. As reflected in Figure 3A, an under-running staging condition causes the content playback device management execution stream running within the playback application 236 to select a new CDN 140 from which to download the content file digital. When a determination is made to select a new CDN 140, the staging execution flow attempting to download the digital content file from the old CDN 140 ends.
If, at step 372, a withdrawal signal is not received, then the method proceeds to step 374 where the staging execution flow retrieves and temporarily stores the additional digital content associated with the selected digital content file from the CDN 140 selected in step 320 of Figure 3A. In step 376, the staging execution flow ends if an insufficient staging execution has occurred in content staging 245. An insufficient staging execution occurs when the staging execution flow has failed to add enough data to the temporary content store 245 to accompany the playback execution flow acting to consume data from the temporary content store 245 while performing a reproduction of the digital content file. The temporary storage execution flow may fail to add sufficient data for reasons including, without limitation, temporary failures within the communications network 150, failure of the selected CDN 140, excessive loading of the selected CDN 140. When insufficient execution of the temporary storage in the content store 245, content playback in real time by the content playback device 110 is stopped. A new CDN 14 0 from which to download the selected digital content file can then be selected, as described above.
If, in step 376, there was not an insufficient execution of the temporary store, then the method proceeds to step 378. In step 378, the temporary storage execution flow determines whether the flow (digital content file) has been completely downloaded to from the selected CDN 140. If, in step 378, the stream has not finished downloading from the selected CDN 140, then the method returns to step 372, described above, where additional data is downloaded to the temporary content store 245 If, however, at step 378, the stream (digital content file) is just downloaded from the selected CDN 140, then the method ends at step 394. At that point, the staging execution stream has downloaded quite well The digital content file for the temporary content store 245 succeeded.
With reference back to step 376, if there was an insufficient staging run on the content staging 245, then the method ends at step 394. Similarly, at step 372, if a withdrawal signal is received, then the method also ends at step 394.
Figure 3D is a flow diagram of method 336 steps for reproducing digital content temporarily stored in the temporary content store 245 within the content playback device 110, according to an embodiment of the invention. Although the method steps are described in conjunction with the systems of Figures 1 and 2, those skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the invention.
The method starts at step 380, where the playback stream launched in step 335 of Figure 3A is initialized according to a particular stream implementation. Again, certain parameters can be passed to the playback stream, including, without limitation, a time stamp. In step 381, the playback execution stream attempts to retrieve the content samples (audio and video stream data) from the content buffer 245. In step 382, the playback execution stream determines whether the playback buffer content 245 is empty. If, at step 382, the content buffer 245 is not empty, then the playback stream proceeds to step 384, where the playback stream reproduces a certain amount (a certain amount of time or byte count ) of content samples from the storage
temporary in content 245. The method then Returns to the step 381. If, Yet, at stage 382, the store temporary in content 245 is empty, then the method
proceeds to step 3 86. In step 3 86, the playback stream determines whether the end of a stream has been found and the digital content file has been played to a normal conclusion. If, in step 380, a flow error has not been found, then the method proceeds to step 388, where a withdrawal signal is transmitted to the temporary storage execution flow of Figure 3C. The method then ends at step 3 96, where the playback stream returns a non-streaming status to the content playback device management execution stream of Figure 3A. however, if in step 386, an end of flow has been found, then the method ends in step 398, where the playback stream returns an end of flow status to the content playback device management execution flow of Figure 3A.
One embodiment of the invention can be implemented as a program product stored on at least one computer-readable storage medium residing within the content playback device 110. In such a mode, the content playback device 110 comprises an integrated computer platform such as a frequency converter, and the stored program product enables the methods of Figures 3A-3D to be implemented by the content playback device 110. In an alternative embodiment, a program product can be downloaded to a memory within of a computer device. For example, the downloaded program product can be executable instructions embedded in an Internet website. In such an embodiment, the content playback device 110 comprises the computer device, and the downloaded program product enables the methods of Figures 3A-3D to be implemented by the content playback device 110.
In summary, a technique for playing digital content files on a content playback device 110 is revealed. The technique involves receiving a list of content distribution networks (CDNs) 140 associated with a requested digital content file, selecting one of the content distribution networks, downloading the digital content file to a temporary content store 245, and playing the digital content file from the temporary content store 245. The process of selecting a CDN 140 involves selecting a list of 240 CDNs in a list of selected CDNs and test the bandwidth for at least one CDN 140. If a CDN 140 in the list of selected CDNs can provide adequate bandwidth for the highest bit stream, then CDN 14 0 is selected . If a CDN 140 is not found that can provide the highest bit rate stream, then a CDN 140 is selected based on a weight by bandwidth product.
An advantage of the disclosed systems and methods is that each content playback device 110 within the content distribution system 100 is capable of facilitating reliable content playback, despite certain failures within the communications network 150 and certain other CDN failures 140. The content playback device 110 is capable of restoring playback under conditions of severe failure and advantageously selecting a good CDN to download a digital content file under suboptimal conditions throughout the system. In comparison, prior art solutions tend to experience catastrophic reproduction failures when subjected to communication network failure and content server failure. Another advantage is that the present invention enables optimal selection of CDN, even when normal operating conditions exist throughout the content distribution system.
Although the foregoing is directed to the modalities of the present invention, other and additional modalities of the invention can be designed without departing from its basic scope. For example, aspects of the present invention can be implemented in hardware or software or in a combination of hardware and software. One embodiment of the invention can be implemented as a program product for use with a computer system. The program product program (s) defines modalities functions (including the methods described herein) and can be contained in a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (for example, reading memory devices inside a computer such as CD-ROM discs readable by a CD- ROM, instant memory, ROM chips or any type of non-volatile solid state semiconductor memory) in which information is permanently stored; and (ii) recordable storage media (for example, floppy disks within a floppy drive or hard disk drive or any type of solid state random access semiconductor memory) in which information that can be changed is stored. Such computer-readable storage media, when carrying computer-readable instructions that guide the functions of the present invention, are embodiments of the present invention.
In view of the foregoing, the scope of the present invention is determined by the following claims.
权利要求:
Claims (14)
[1]
1. Method for downloading a digital content file from a content distribution network (CDN) (140) residing within a content distribution system, the method characterized by the fact that it comprises:
receiving (314) a list of CDNs (122) from a content directory server (120) which includes one or more CDNs residing within the content delivery system and also includes a grade and weight for each or more CDNs;
select (320) a CDN from the list of CDNs from which to download the digital content file based on a bandwidth test, where the selected CDN is a CDN with the highest rank on the CDN list where is determined from the bandwidth test to be able to download a portion of the digital content file to a content playback device machine (110) at a maximum average bit rate supported by the playback device machine content or, in case the bandwidth test does not identify the CDN capable of downloading a portion of the digital content file to a content playback device machine (110) by the said maximum bit rate average supported by the content playback device machine, it is the CDN that has a weighted bandwidth greater than or equal to the weighted bandwidth associated with any other CDN included in the CDN list, the weighted bandwidth for a CDN being calculated using the determined bandwidth
Petition 870190106357, of 10/21/2019, p. 11/30 during the bandwidth test and the weight of the CDN list;
launch (330) a temporary storage execution flow configured to download digital content associated with the digital content file from the selected CDN and store the digital content in a temporary content store; and launching (335) a playback execution stream configured to reproduce the digital content stored in the temporary content store.
[2]
2. Method, according to claim 1, characterized by the fact that the step of selecting comprises the steps of:
compute, for a first CDN (140) in the CDN list (122), a first bit rate at which the first CDN can download the portion of the digital content file to the content playback device machine (110); and determining whether the first bit rate is equal to the maximum average bit rate associated with the content playback device machine.
[3]
3. Method according to claim 2, characterized by the fact that the first bit rate is equal to the maximum average bit rate associated with the content playback device machine (110), and the step of selecting further comprises the step of selecting the first CDN (140).
[4]
4. Method according to claim 2, characterized by the fact that the first bit rate is not equal to the maximum average bit rate associated with the content playback device machine (110), and the step
Petition 870190106357, of 10/21/2019, p. 12/30 of selecting also comprises the steps of:
computing, for a second CDN (140) in the CDN list (122), a second bit rate at which the second CDN can download the portion of the digital content file to the content playback device machine; and determining whether the second bit rate is equal to the maximum average bit rate associated with the content playback device machine.
[5]
5. Method according to claim 1, characterized by the fact that no CDN (140) in the CDN list (122) is able to download the portion of the digital content file to the content playback device machine (110 ) at the maximum average bit rate, and the select step comprises the steps of:
for each CDN included in the CDN list, compute a bit rate at which the portion of the digital content file can be downloaded to the content playback device machine; and for each CDN included in the CDN list, compute (354) a weighted bandwidth equal to the product of the bit rate at which the CDN can download the portion of the file
of content digital for the device machine in reproduction content and the weight included in the list of CDN for the CDN. 6. Method, of according to claim 5, featured by the fact that that a first CDN (140) at
CDN list (122) has a weighted bandwidth that is greater than the weighted bandwidth associated with any other CDN included in the CDN list, and the step of selecting further comprises the step of selecting the
Petition 870190106357, of 10/21/2019, p. 13/30 first CDN.
[6]
7. Method according to claim 5, characterized by the fact that two or more CDNs (140) in the CDN list (122) have the same weighted bandwidth, and the step of selecting further comprises the step of selecting one first CDN of the two or more CDNs that have the highest relative graduation shown in the CDN list.
[7]
8. Method, according to claim 1, characterized by the fact that the temporary storage execution flow is further configured to continue to download and store (374) the digital content associated with the digital content file until the execution flow temporary storage find a give-up signal indicating that a temporary storage under-running condition has occurred or an end-of-flow signal indicating that the entire digital content file has been downloaded and played.
[8]
9. Method, according to claim 8, characterized by the fact that the reproduction execution flow is configured to:
continue playback (384) of the digital content stored in the temporary content store until it determines that the temporary content store is empty; and send (388) the withdrawal signal to the staging execution flow, if the entire digital content file has not been played, or send (398) the end of flow signal to a device management execution flow content playback, if the digital content file
Petition 870190106357, of 10/21/2019, p. Entire 14/30 has been reproduced.
[9]
10. Switch-readable medium including instructions that, when executed by a processing unit, cause the processing unit to download a digital content file from a content distribution network (CDN) (140) residing within a content distribution system, characterized by the fact that it comprises the steps of:
receiving (312) a list of CDNs (122) from a content directory server (120) which includes one or more CDNs residing within the content distribution system and also includes a grade and weight for each of the or more CDNs;
select (320) a CDN from a list of CDNs from which to download the digital content file based on a bandwidth test, where the selected CDN is a CDN with the highest rating from the CDN list at which is determined from the bandwidth test to be able to download a portion of the digital content file to a content playback device machine (110) at a maximum average of the bit rate supported by the playback device machine content or, in case the bandwidth test does not identify the CDN capable of downloading a portion of the digital content file to a content playback device machine (110) by the said maximum bit rate average supported by the content playback device machine, is the CDN that has a weighted bandwidth greater than or equal to the weighted bandwidth associated with any other CDN included in the
Petition 870190106357, of 10/21/2019, p. 15/30 CDN list, the weighted bandwidth for a CDN being calculated using the bandwidth determined during the bandwidth test and the weight of the CDN list;
launch (330) a temporary storage execution flow configured to download digital content associated with the digital content file from the selected CDN and store the digital content in a temporary content store; and launching (335) a playback execution stream configured to reproduce the digital content stored in the temporary content store.
[10]
11. Computer-readable medium, according to claim 10, characterized by the fact that the selection step comprises the steps of:
compute, for a first CDN (140) in the CDN list (122), a first bit rate at which the first CDN can download the portion of the digital content file to the content playback device machine (110); and determining whether the first bit rate is equal to the maximum average bit rate associated with the content playback device machine.
[11]
12. Computer-readable medium according to claim 10, characterized in that no CDN in the CDN list (122) is able to download a portion of the digital content file to a content playback device machine (110) by the maximum average bit rate, and the selection step comprises the steps of:
for each CDN included in the CDN list, compute the bit rate at which the portion of the content file
Petition 870190106357, of 10/21/2019, p. Digital 16/30 can be downloaded to the content playback device machine; and for each CDN included in the CDN list, compute (354) a weighted bandwidth equal to the bit rate product at which the CDN can download the portion of the digital content file to the content playback device machine and the weight included in the CDN list for the CDN.
[12]
13. Computer-readable medium according to claim 12, characterized by the fact that the first CDN (140) in the CDN list (122) has a weighted bandwidth that is greater than the weighted bandwidth associated with any other CDN included in the CDN list, and the selection step further comprises the step of selecting the first CDN.
[13]
14. Computer-readable medium, according to claim 10, characterized by the fact that the storage execution flow is further configured to continue to download and store (374) the digital content associated with the digital content file until the flow temporary storage execution error encounters a withdrawal signal indicating that an insufficient temporary storage execution condition has occurred or an end of flow signal indicating that the entire digital content file has been downloaded and played.
[14]
15. Content playback device (110) configured to download a digital content file from a content distribution network (CDN) (140) residing within a content distribution system, the featured content playback device fur
Petition 870190106357, of 10/21/2019, p. 17/30 fact that understands:
a memory (230) that includes a temporary content store for storing downloaded digital content; and a processing unit (210) coupled to the memory and configured to:
receiving (314) a list of CDNs (122) from a content directory server (120) that includes one or more CDNs residing within the content distribution system and also includes a rating and weight for each of the or more CDNs, select (320) a CDN from the CDN list from which to download the digital content file based on a bandwidth test, where the selected CDN is a CDN with the highest rank on the list of CDN in which it is determined from the bandwidth test to be able to download a portion of the digital content file to the content playback device at a maximum average of the bit rate supported by the content playback device or , in the event that the bandwidth test does not identify the CDN capable of downloading a portion of the digital content file to a content playback device machine (110) at said maximum bit rate average supported by the device machinecontent playback, it is the CDN that has a weighted bandwidth (354) greater than or equal to the weighted bandwidth associated with any other CDN included in the CDN list, the weighted bandwidth for a CDN being calculated using the bandwidth determined during the bandwidth test and the weight of the
Petition 870190106357, of 10/21/2019, p. 18/30 CDN list, launch (330) a temporary storage execution flow configured to download digital content associated with the digital content file from 5 of the selected CDN and store digital content in the temporary content store, and launch (335 ) a playback execution stream configured to play digital content stored in the temporary content store on a display device coupled to the content playback device.
类似技术:
公开号 | 公开日 | 专利标题
BR112012001671B1|2020-06-02|DIGITAL CONTENT DISTRIBUTION METHOD AND SYSTEM
US9510043B2|2016-11-29|Pre-buffering audio streams
US20210227020A1|2021-07-22|Selective access of multi-rate data from a server and/or peer
JP5652971B2|2015-01-14|Adaptive streaming for digital content distribution
US8966014B2|2015-02-24|Parallel streaming
US8825790B2|2014-09-02|Caching of fragmented streaming media
US9191465B2|2015-11-17|Multi-CDN digital content streaming
KR102047495B1|2019-11-21|Method and apparatus for playing multimedia content of server via streaming at client using cache
US9754627B2|2017-09-05|Dynamically adjusting stream quality level
KR20130093675A|2013-08-22|Variable bit video streams for adaptive streaming
CN105450675B|2021-07-30|Method for selecting CDN service node by client in streaming media playing
DK2834746T3|2017-06-12|PIPELINE TREATMENT FOR PARALLEL NETWORK CONNECTIONS FOR TRANSMISSION OF A DIGITAL CONTENT POWER
US20110113124A1|2011-05-12|Method and device for downloading multimedia contents at high speed in the internet
US20130251339A1|2013-09-26|Media resource storage and management
US20120203891A1|2012-08-09|Netflix in a box
JP2004227559A|2004-08-12|Control method for user application program
CN105847941A|2016-08-10|Audio and video stream direct broadcast method based on HLS protocol
WO2011143946A1|2011-11-24|Method and system for managing multilevel caches of edge server in cdn
US10284894B2|2019-05-07|Methods and apparatus for naming video content chunks
BR112021004423A2|2021-05-25|methods, systems, and media for releasing manifest-free streaming media content
KR20160130884A|2016-11-15|Method and System for User Behavior Analysis Based Video Streaming Data Transmission Architecture Determination
BR102021003482A2|2021-09-08|PRE-STORAGE IN SELECTIVE CASH OF MEDIA FLOWS
WO2021073539A1|2021-04-22|Hls playback method, client, server and storage medium
同族专利:
公开号 | 公开日
CL2012000136A1|2012-08-24|
JP5298331B2|2013-09-25|
BR112012001671A2|2016-04-12|
IN2012DN00716A|2015-06-19|
EP2454680A4|2015-06-17|
JP2012533938A|2012-12-27|
US8433814B2|2013-04-30|
CA2768361C|2015-11-17|
DK2454680T3|2018-12-10|
CA2768361A1|2011-01-20|
CO6491079A2|2012-07-31|
WO2011008984A1|2011-01-20|
MX2012000747A|2012-05-08|
US20110016225A1|2011-01-20|
EP2454680B1|2018-08-15|
EP2454680A1|2012-05-23|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US7299291B1|2000-05-18|2007-11-20|Akamai Technologies, Inc.|Client-side method for identifying an optimum server|
MY147018A|2001-01-04|2012-10-15|Thomson Licensing Sa|A method and apparatus for acquiring media services available from content aggregators|
JP3698073B2|2001-06-13|2005-09-21|日本電信電話株式会社|Server selection apparatus, method, program, and recording medium recording the program|
JP4040292B2|2001-11-30|2008-01-30|日本電信電話株式会社|Server selection method, server selection device, server selection program, and recording medium|
US20030135863A1|2002-01-17|2003-07-17|Koninklijke Philips Electronics N.V.|Targeted scalable multicast based on client bandwidth or capability|
JP2003223378A|2002-01-29|2003-08-08|Fujitsu Ltd|Contents delivery network service method and system|
JP2003256310A|2002-03-05|2003-09-12|Nec Corp|Server load decentralizing system, server load decentralizing apparatus, content management apparatus and server load decentralizing program|
JP4176363B2|2002-03-22|2008-11-05|富士通株式会社|Content transmission method|
AU2003239385A1|2002-05-10|2003-11-11|Richard R. Reisman|Method and apparatus for browsing using multiple coordinated device|
US20040024900A1|2002-07-30|2004-02-05|International Business Machines Corporation|Method and system for enhancing streaming operation in a distributed communication system|
US7849159B2|2002-11-22|2010-12-07|Realnetworks, Inc.|Method and apparatus for distributing binary presentations within digital media content files|
JP2004336309A|2003-05-06|2004-11-25|Nippon Telegr & Teleph Corp <Ntt>|Method and system for distributing network of content, content retrieval/selection server and location selection server|
JP3922575B2|2003-06-20|2007-05-30|日本電信電話株式会社|QoS guarantee method, QoS guarantee system, terminal device, content distribution subsystem, SIP session control subsystem and program in CDN by SIP session control|
US20050027862A1|2003-07-18|2005-02-03|Nguyen Tien Le|System and methods of cooperatively load-balancing clustered servers|
JP2005218049A|2004-02-02|2005-08-11|Nec Corp|Content distribution server selection system, server, and distribution server selection program|
US7676590B2|2004-05-03|2010-03-09|Microsoft Corporation|Background transcoding|
JP2006109099A|2004-10-05|2006-04-20|Sony Corp|Content distribution system, content distribution apparatus, user terminal, and computer program|
JP2007074356A|2005-09-07|2007-03-22|Hitachi Ltd|Home network system|
JP4944484B2|2006-04-20|2012-05-30|キヤノン株式会社|Playback apparatus, playback method, and program|
US9996627B2|2007-03-30|2018-06-12|Excalibur Ip, Llc|Point of presence distribution mechanism for digital content objects|
KR101520519B1|2007-12-03|2015-05-14|벨로식스 리미티드|A method and apparatus for the delivery of digital data|
GB2456026A|2007-12-26|2009-07-01|Contendo Inc|CDN balancing and sharing platform|US9549043B1|2004-07-20|2017-01-17|Conviva Inc.|Allocating resources in a content delivery environment|
US8483616B1|2005-11-01|2013-07-09|At&T Intellectual Property Ii, L.P.|Non-interference technique for spatially aware mobile ad hoc networking|
US8355410B2|2007-08-17|2013-01-15|At&T Intellectual Property I, L.P.|Location-based mobile gaming application and method for implementing the same using a scalable tiered geocast protocol|
US7515710B2|2006-03-14|2009-04-07|Divx, Inc.|Federated digital rights management scheme including trusted systems|
US8874725B1|2006-11-15|2014-10-28|Conviva Inc.|Monitoring the performance of a content player|
US8751605B1|2006-11-15|2014-06-10|Conviva Inc.|Accounting for network traffic|
US9124601B2|2006-11-15|2015-09-01|Conviva Inc.|Data client|
US8874964B1|2006-11-15|2014-10-28|Conviva Inc.|Detecting problems in content distribution|
US9264780B1|2006-11-15|2016-02-16|Conviva Inc.|Managing synchronized data requests in a content delivery network|
US10862994B1|2006-11-15|2020-12-08|Conviva Inc.|Facilitating client decisions|
US9177313B1|2007-10-18|2015-11-03|Jpmorgan Chase Bank, N.A.|System and method for issuing, circulating and trading financial instruments with smart features|
WO2010080911A1|2009-01-07|2010-07-15|Divx, Inc.|Singular, collective and automated creation of a media guide for online content|
US8402494B1|2009-03-23|2013-03-19|Conviva Inc.|Switching content|
US9100288B1|2009-07-20|2015-08-04|Conviva Inc.|Augmenting the functionality of a content player|
US9118428B2|2009-11-04|2015-08-25|At&T Intellectual Property I, L.P.|Geographic advertising using a scalable wireless geocast protocol|
EP2507995A4|2009-12-04|2014-07-09|Sonic Ip Inc|Elementary bitstream cryptographic material transport systems and methods|
US20130042288A1|2010-04-26|2013-02-14|Telefonaktiebolaget Lm|Method and arrangement for playing out a media object|
US10016684B2|2010-10-28|2018-07-10|At&T Intellectual Property I, L.P.|Secure geographic based gaming|
US8914534B2|2011-01-05|2014-12-16|Sonic Ip, Inc.|Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol|
US8589996B2|2011-03-16|2013-11-19|Azuki Systems, Inc.|Method and system for federated over-the-top content delivery|
US8849950B2|2011-04-07|2014-09-30|Qualcomm Incorporated|Network streaming of video data using byte range requests|
US9319842B2|2011-06-27|2016-04-19|At&T Intellectual Property I, L.P.|Mobile device configured point and shoot type weapon|
US9161158B2|2011-06-27|2015-10-13|At&T Intellectual Property I, L.P.|Information acquisition using a scalable wireless geocast protocol|
US8909922B2|2011-09-01|2014-12-09|Sonic Ip, Inc.|Systems and methods for playing back alternative streams of protected content protected using common cryptographic information|
US8964977B2|2011-09-01|2015-02-24|Sonic Ip, Inc.|Systems and methods for saving encoded media streamed using adaptive bitrate streaming|
US8744419B2|2011-12-15|2014-06-03|At&T Intellectual Property, I, L.P.|Media distribution via a scalable ad hoc geographic protocol|
US9613042B1|2012-04-09|2017-04-04|Conviva Inc.|Dynamic generation of video manifest files|
US9071451B2|2012-07-31|2015-06-30|At&T Intellectual Property I, L.P.|Geocast-based situation awareness|
US10182096B1|2012-09-05|2019-01-15|Conviva Inc.|Virtual resource locator|
US9246965B1|2012-09-05|2016-01-26|Conviva Inc.|Source assignment based on network partitioning|
US9699519B2|2012-10-17|2017-07-04|Netflix, Inc.|Partitioning streaming media files on multiple content distribution networks|
US9456253B2|2012-12-04|2016-09-27|Virtual Marketing Incorporated|Internet protocol television streaming methods and apparatus|
US9660745B2|2012-12-12|2017-05-23|At&T Intellectual Property I, L.P.|Geocast-based file transfer|
US9191457B2|2012-12-31|2015-11-17|Sonic Ip, Inc.|Systems, methods, and media for controlling delivery of content|
US9313510B2|2012-12-31|2016-04-12|Sonic Ip, Inc.|Use of objective quality measures of streamed content to reduce streaming bandwidth|
US10397292B2|2013-03-15|2019-08-27|Divx, Llc|Systems, methods, and media for delivery of content|
US9906785B2|2013-03-15|2018-02-27|Sonic Ip, Inc.|Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata|
US8973073B2|2013-05-20|2015-03-03|Telefonaktiebolaget L M Ericsson |Weighted ingest policy management in a content distribution network|
US9094737B2|2013-05-30|2015-07-28|Sonic Ip, Inc.|Network video streaming with trick play based on separate trick play files|
US9967305B2|2013-06-28|2018-05-08|Divx, Llc|Systems, methods, and media for streaming media content|
US9866878B2|2014-04-05|2018-01-09|Sonic Ip, Inc.|Systems and methods for encoding and playing back video at different frame rates using enhancement layers|
US10178043B1|2014-12-08|2019-01-08|Conviva Inc.|Dynamic bitrate range selection in the cloud for optimized video streaming|
US10305955B1|2014-12-08|2019-05-28|Conviva Inc.|Streaming decision in the cloud|
CN108076117B|2016-11-14|2020-08-25|腾讯科技(深圳)有限公司|Data downloading method and user terminal|
US10498795B2|2017-02-17|2019-12-03|Divx, Llc|Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming|
CN111064997B|2018-10-16|2021-11-16|深圳市云帆加速科技有限公司|Resource pre-distribution method and device|
JP6884845B1|2019-12-06|2021-06-09|アクセリア株式会社|Content acquisition / playback device, content acquisition program and CDN monitoring device|
法律状态:
2019-01-15| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2019-07-23| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2020-04-07| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2020-06-02| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 15/07/2010, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
US12/504,528|US8433814B2|2009-07-16|2009-07-16|Digital content distribution system and method|
US12/504,528|2009-07-16|
PCT/US2010/042174|WO2011008984A1|2009-07-16|2010-07-15|A digital content distribution system and method|
[返回顶部]